Page({

  /**
   * 页面的初始数据
   */
  data: {
    paddingTop:30,
    height:30,   //搜索框高度，为了和胶囊的高保持一致 需要动态计算
    bannerList:[],
    grids:[],
    ranks:[],
    advList:[],
    recommandList:[]
  },
 //宫格的跳转
 toSkip(e){
  //注意冒泡问题：currentTarget->对应事件绑定目标  target ->点击目标
  const {address:url,isTab} = e.currentTarget.dataset.item;
    url &&isTab? wx.switchTab({url}):wx.navigateTo({url})
},
  //跳转详情
  toDetails(e){
    //解决方案一：后台设计有两个表：产品表 + 详情表
    //产品表（列表相关信息）+ 详情表（其他产品信息）
    //跳转页详情：产品表 + 详情表 = 详情页需要的数据
    //detailsId detailsId -> 云函数 （分开查询）->返回数据
    // 方案二：优化处理：
    //只需要拿到产品id 获取到所有数据只查询一次， 可以 -> 云函数（多表联查）
    //获取产品详情页id
    console.log(e);
    //方案一
    // const {detailsid:detailsId,proid:proId} = e.target.dataset
    // console.log(detailsId);
    // console.log(detailsId,proId);
    // wx.navigateTo({
    //   url: `/pages/details/index?detailsId=${detailsId}&proId=${proId}`,
    // })
//方案二
console.log(e);
const {proid:proId} = e.currentTarget.dataset
  wx.navigateTo({
    url: `/pages/details/index?proId=${proId}`,
  })
},
  
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setSearchPos()
    this.initData()
  },
  // 2.请求页面初始化
  async initData(){
     //轮播图数据请求
     //方式1.在小程序端请求
    //  1.获取数据库引用
    // const db = wx.cloud.database()
    // // 2.获取banner集合的引用
    // const banner =  db.collection('banner')
    // console.log(banner)
    // //3.获取数据
    // const res = await banner.where({isShow:true}).get();
    // console.log(res)
    // 4.更新数据到视图
    // this.setData({
    //   bannerList:res.data
    // })

    //方式2：在云端--云函数--（权限更大）
    //1.在外层 cloudfunctions 中选择环境
    //2.在文件中右键新建Node.js文件  “取名”生成三个文件
    //3.在云函数（index.js)：exports.main = async (event，context) => {主要code}
    //记得部署
    //5.调用
    wx.showLoading({
      title: '加载中...',
    })
    const res = await wx.cloud.callFunction({name:"home"})
    console.log(res)
    this.setData({
      bannerList:res.result.banner,
      grids:res.result.grids,
      ranks:res.result.ranks,
      advList:res.result.advs,
      recommandList:res.result.recommands,
    })
    wx.hideLoading()
  },
//1.处理search的位置
setSearchPos(){
  const  {top,height} = wx.getMenuButtonBoundingClientRect()
    //更新data的数据
    this.setData({
      paddingTop:top,
      height
    })
},
  toSearch(){
    //跳转到搜索页面
    wx.navigateTo({url:"/pages/search/index"})
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    
  }
})